package com.d3works.apps.businessproject.service;

import com.d3works.apps.hr.db.TimesheetLine;
import com.d3works.apps.project.db.Project;
import com.d3works.apps.tool.QueryBuilder;
import com.d3works.exception.D3worksException;
import com.google.inject.persist.Transactional;

public interface TimesheetLineBusinessService {

  TimesheetLine getDefaultToInvoice(TimesheetLine timesheetLine);

  @Transactional(rollbackOn = {D3worksException.class, Exception.class})
  public TimesheetLine updateTimesheetLines(TimesheetLine timesheetLine);

  public TimesheetLine setTimesheet(TimesheetLine timesheetLine) throws D3worksException;

  public QueryBuilder<TimesheetLine> getTimesheetLineInvoicingFilter();

  public void timsheetLineInvoicing(Project project);
}
